/**  
* @Title: TopBaiduExtractor.java
* @Package org.zsen.crawler
* @Description TODO
* @author ZhangSen
* @date 2015年11月1日 下午4:54:21
* @version 
*/ 
package org.zsen.crawler;

import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;
import org.jsoup.nodes.Element;

import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseEntry;

import cn.edu.hfut.dmic.webcollector.extract.Extractor;
import cn.edu.hfut.dmic.webcollector.extract.ExtractorParams;
import cn.edu.hfut.dmic.webcollector.model.Page;

/**
* @ClassName: TopBaiduExtractor
* @Description: 
* @author ZhangSen
* @date 2015年11月1日 下午4:54:21
*
*/
public class BaiduExtractor{
	private static BaiduBdbHelp dbh=new BaiduBdbHelp("Baidu");
	public static class HotPointExtractor extends Extractor{

		/**
		* Description: TODO
		* @param page
		* @param params
		*/ 
		

		public HotPointExtractor(Page page, ExtractorParams params) {
			super(page, params);
			
			// TODO Auto-generated constructor stub
		}

		/**
		* @Description: TODO
		* @return
		* @author ZhangSen
		* @date 2015年11月1日 下午7:26:10      
		*/ 
		@Override
		public boolean shouldExecute() {

			return Pattern.matches("http://top.baidu.com/buzz.*",getUrl());
		}

		/**
		* @Description: TODO
		* @throws Exception
		* @author ZhangSen
		* @date 2015年11月1日 下午7:26:10      
		*/ 
		@Override
		public void extract() throws Exception {
			// TODO Auto-generated method stub
			
		}

		/**
		* @Description: TODO
		* @throws Exception
		* @author ZhangSen
		* @date 2015年11月1日 下午7:26:10      
		*/ 
		@Override
		public void output() throws Exception {
			// TODO Auto-generated method stub

			Database database=dbh.getDataBase("实时热点");
			DatabaseEntry key=new DatabaseEntry();
			DatabaseEntry value=new DatabaseEntry();
			for(Element e:getDoc().select("tbody").select("tr"))
			{
				key.setData(e.select("td.keyword").select("a.list-title").text().getBytes("utf-8"));
				value.setData(e.select("td.last").select("span").text().getBytes("utf-8"));
				if(StringUtils.isNotEmpty(e.select("td.keyword").text()))
					database.put(null,key,value);
			}
			database.sync();
			database.close();
		}
		
		
	}


}
